package com.hskn.hss.module.alarmcar.mapper;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hskn.hss.module.alarmcar.entity.AlarmCar;
import com.hskn.hss.module.alarmcar.entity.AlarmCarCharts;
import com.hskn.hss.module.alarmcar.entity.AlarmCarFull;
import com.hskn.hss.module.depart.entity.SysDepart;
import com.hskn.hss.module.depart.entity.SysDepartCharts;
import com.hskn.hss.module.statistics.vo.TlCarListRes;
import com.hskn.hss.utils.BTable;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author hskn
 * @since 2021-05-21
 */
public interface AlarmCarMapper extends BaseMapper<AlarmCar> {
    List<Map<String, Object>> collectList(JSONObject params);

    Long collectListCount(JSONObject params);

    List<TlCarListRes> collectListExport(JSONObject params);

    List<Map> violationsAndAlarms(JSONObject params);

    List<BTable> selectAlarmCarBTable(AlarmCar alarmCar);

    List<AlarmCarFull> selectAlarmCarTTable(AlarmCar alarmCar);

    List<AlarmCarCharts> selectAlarmCarForCharts(AlarmCar alarmCar);

    List<AlarmCarCharts> selectAlarmCarForTable(AlarmCar alarmCar);

    List<SysDepartCharts> selectAlarmCarForDepart(SysDepart sysDepart);

    List<Map> alarmCountByTypeName(Map map);

    List<Map> alarmViolationByTypeName(Map map);
}
